Methods and Systems for Network Based Capture of Television Viewer Generated Clickstreams

ABSTRACT

Clickstream data is locally captured and sent to a remote component for analysis. Any commands may be locally and/or remotely executed to alter content.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No. 10/735,346 filed Dec. 12, 2003, now issued as U.S. Pat. No. ______, and incorporated herein by reference in its entirety.

TECHNICAL FIELD

The present invention is related to the capture of clickstreams generated by television viewers when making television programming selections. More particularly, the present invention is related to the network based capture of these clickstreams.

BACKGROUND

When a television viewer watches television, the viewer periodically makes selections to control what is being viewed. The viewer may change to a different channel and program, may choose to channel surf during commercials, may choose to shut down the television equipment and not watch any programming during certain time periods, etc. The sequence of these user commands are known as a clickstream which provides an indication of what the viewer is or is not watching on television when the clickstream is captured in relation to time, current channel before a change, current channel after a change, etc.

Initially, this clickstream was not captured in any way. The behavior of the television viewer was not tracked, and there was no way to identify trends in the behavior of the television viewer without requiring the television viewer to become involved, such as manually recording what the viewer watches or installing special equipment in the home of the viewer specifically for the purpose of tracking what programs the viewer watched.

The introduction of set top boxes that tune in broadcasted channels for the viewer gave rise to a way to track the television watching behavior of the viewer without requiring the viewer to become involved. The set top box receives multiple streams of television programming and executes the commands from the viewer such as channel changes to control which stream is being viewed by the viewer. The set top box may also be provided with clickstream capture functionality so that when the set top box receives a user command, the command is captured and stored within the set top box in addition to being executed within the set top box. In this way, the set top box effectively captures the viewing behaviors of the viewer.

The clickstream that has been captured may then be periodically forwarded from the set top box to a service provider system where it can be put to use. The service provider system may process the clickstream relative to profile information of the viewers producing the clickstreams to produce statistics about television viewing habits, such as statistics based on demographics. The service provider and/or television content providers may then utilize these statistics for various purposes. For instance, this information may be used to determine what television programming to provide to consumers.

While this set top box approach does provide the clickstream capture, it has drawbacks because it requires the set top box of every viewer being tracked to have the ability to record and periodically forward the clickstream information. Additionally, for advanced television networks, the switching between streams of programming may be performed within the television network for a viewer rather than at the set top box such that the set top box only receives a single stream at a time. Thus, the set top box may not include the intelligence to recognize the significance of one user command from another but instead simply transfers the user command to the television network for execution such that the set top box is ineffective at capturing the clickstream.

SUMMARY

Embodiments of the present invention address these issues and others by providing network based clickstream capture. The user commands are transferred from the premises of the viewer, such as by a set top box, to a remotely located component such as a video control system within a television network. The user commands are captured at the remotely located component and are stored remotely from the premises of the viewer. Accordingly, the set top box need not necessarily have clickstream capture capabilities.

One embodiment is a method of capturing user commands related to viewing television programming. The method involves receiving a user command at a viewer appliance at a premises of the viewer. Relative to receiving the user command, the user command is concurrently forwarded from the viewer appliance to a component located remotely from the premises of the viewer. Remotely from the premises of the viewer, information related to the user command is stored upon receiving the user command at the component.

Another embodiment is a method of capturing user commands related to viewing television programming. The method involves receiving a user command at a viewer appliance at a premises of the viewer. Relative to receiving the user command, the user command is concurrently forwarded from the viewer appliance to a component located remotely from the premises of the viewer. The user command is executed at the component to alter an aspect of the television programming being viewed by the viewer. Remotely from the premises of the viewer, information related to the user command continues to be stored after the user command has been executed at the component.

Another embodiment is a system for capturing user commands related to viewing television programming. The system includes a reception mechanism located at a premises of a viewer that receives user commands. A transfer mechanism is located at the premises of the viewer and transfers the user commands concurrently relative to the reception mechanism receiving the user commands. A control mechanism executes the user commands received by the reception mechanism to control an aspect of the television programming being provided to the viewer. A capture mechanism is located remotely from the premises of the viewer and receives the user commands being transferred concurrently by the transfer mechanism. A storage mechanism is located remotely from the premises of the viewer and continues to store information related to the user commands after the user commands have been executed by the control mechanism and received by the capture mechanism.

Another embodiment is a method of capturing user commands from a viewer that are related to viewing television programming. The method involves capturing the user command remotely from the premises of the viewer and continuing to store information related to the user command after the user command has been executed.

Another embodiment is a method of capturing user commands from a viewer that are related to viewing television programming. The method involves receiving the user command at a viewer appliance at the premises of the viewer. The method further involves executing the user command at the viewer appliance and forwarding the user command from the viewer appliance.

DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an illustrative clickstream capture system architecture for implementing embodiments of the present invention where the television programming is broadcast to a viewer appliance that executes the user commands while the clickstream capture is performed remotely from the viewer premises.

FIG. 2 shows an illustrative set of logical operations within the system of FIG. 1 for implementing embodiments of the present invention.

FIG. 3 shows an illustrative clickstream capture system architecture for implementing embodiments of the present invention where at least a portion of the television programming is switched within the television network such that the television network executes user commands while the clickstream capture is performed remotely from the viewer premises.

FIG. 4 shows an illustrative set of logical operations within the system of FIG. 3 for implementing embodiments of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention provide for the network capture of clickstreams that are generated by TV viewers. Thus, the network capture obtains the clickstreams without requiring the viewer appliance to capture the clickstreams and store the clickstreams for a period of time, and then forward the stored clickstreams on to a downstream location. Instead, the viewer appliance receiving the clickstreams from the viewer forwards the user commands of the clickstream up to the network location as the user commands are being received. This enables the network to have almost immediate access to all user commands of a clickstream which can then be processed as necessary to produce statistics about the behavior of the TV viewers.

FIG. 1 shows one example of a system for capturing the clickstreams where the television programming being provided to the viewer is through broadcast system. Multiple channels of television programming are being broadcast simultaneously to the viewer appliance 120 such as a set top box or broadband gateway, which then tunes to the particular channel of programming that the viewer desires to watch. The broadcast television programming is provided to viewers from a central location 102, such as a community access television (“CATV”) headend or a telephone company (“telco”) central office (“CO”) which may provide Internet connectivity for streaming programming to the viewer.

The central location 102 includes various components for receiving the television programming to be broadcast to the television viewers. Much of the television programming originates from satellite reception via a satellite receiver dish 106. Additional direct local feeds 108 receive direct transmission via a wireline link to local television stations. Also, additional local off-air reception via antennas 110 may also receive local programming that is not otherwise received through the direct local feeds 108.

These programming sources provide received programming to a content reception and processing system 104. This system 104 takes the various channels of television programming being received and creates a channel line-up. The channel line-up is the distribution of the channels being provided by the service provider over the particular channels designated by the service provider. The content reception and processing system 104 receives a particular stream of programming and assigns it to a particular channel within the channel line-up.

The content reception and processing system 104 provides the individual streams of programming to a video broadcast system 112. The video broadcast system 112 then broadcasts each of the streams of programming within its assigned channel of the channel line-up. The video broadcast system 112 broadcasts these channels, as well as data such as guide data, over a distribution network 116 that feeds each of a plurality of individual television viewer premises 118. Typically, the distribution network 116 includes a network of coaxial lines, twisted pair lines, or wireless links that extend over a region being served, where each of the lines terminates at viewer premises 118.

The broadcasts may be either in an analog or a digital format. The network 116 may carry either format or both formats, such as where one set of channels of the channel line-up are broadcast as analog while another set of channels of the channel line-up are digital. Additionally, the network 116 may carry two-way communications such that communications may be provided back to the central location 102 from viewer premises 118. Alternatively, the network 116 may carry only one-way communications from the central location 102 to viewer premises 118.

At viewer premises 118, the incoming stream of channels is provided to a viewer appliance 120. A viewer appliance 120 allows a viewer to provide commands to control aspects of the television programming being viewed, such as channel changes and/or additional aspects such as audio format and volume control. The viewer appliance 120 typically outputs the selected channel to a television 122. A viewer appliance 120 such as a broadband gateway may be present in place of a set top box so as to receive user commands from different areas of the premises 118 and distribute the selected channel to televisions located in different areas as opposed to having a viewer appliance at each location where a television is present. It should be appreciated that the viewer appliance 120 may be incorporated into the television 122 rather than being a separate component.

When a viewer is watching television, the viewer provides user commands to control the aspects of television programming as desired. The viewer may provide a user command by pressing buttons on a remote control 127 that provides a corresponding signal to the viewer appliance 120 and are received by a reception module 123. Alternatively, the viewer may provide a user command by pressing buttons located on the viewer appliance 120 itself. The viewer appliance 120 of this example then performs at least two actions. The viewer appliance 120 executes the command through a control module 125 to control the television programming as desired by the viewer. In addition to executing the command, as the command is received the viewer appliance 120 forwards the user command (i.e., a control message) to an external location rather than merely storing a record of it for future transfer by sending the user command from a transmission module 121.

The viewer appliance 120 may forward the user command to an external location in various ways. For example, where the distribution network 116 is a two-way network, the user command may be transferred over the network 116 back to the central location 102. The destination for the user command in this example is a marketing information system (“MKIS”) 114. The MKIS 114 is interfaced to the two-way network 116 such that user commands are directed to the MKIS 114 where they are captured from the transmission and stored in storage 115 of the MKIS 114.

Typically, the user commands coming from a particular viewer premises 118 are stored in association with an identifier of the viewer such that the MKIS 114 matches the user command to a profile for the viewer, such as the demographical categories of the viewer. Also, the context in which the user command is received is known due to the MKIS 114 storing a time stamp for when the user command is received and also having stored the preceding user commands. Accordingly, downstream processing can determine behaviors of TV viewers relative to the content being provided based on knowing when a user command or stream of user commands (i.e., a clickstream) is received relative to what content is being shown on a particular channel at that particular time. Thus, it can be determined that a television viewer switches from one program to another, switches the channel during commercials, mutes the television when certain content is present, etc. Furthermore, these behaviors can be matched statistically with the various demographic categories known for the viewers.

Rather than forwarding the user commands back to the central location 102 through the distribution network 116, the viewer appliance 120 may be provided with an alternative route to forward the user commands. For example, the distribution network 116 may only be a one-way network or the destination for the user commands may be other than the central location 102. Thus, the viewer appliance 120 may be provided with a connection to an alternative data network 124 which interconnects an MKIS 114′ having storage 115′ to the viewer appliance 120. For example, the viewer appliance 120 may be connected to a digital subscriber line (“DSL”) or other broadband connection to network 124, through the public switched telephone network (“PSTN”), through a wireless connection, etc. Thus, when the viewer appliance 120 receives the user command, it is forwarded through the alternative network 124 to the MKIS 114′ where it is captured from the stream of communication and is stored in storage 115′ as described above.

FIG. 2 shows the logical operations performed within the system of FIG. 1 to capture the user commands at a location remote from viewer premises 118, such as at the MKIS 114. Initially, the user command is received at the viewer appliance 120 at reception operation 202. As described above, this may be from the viewer entering a command through a remote control 127 or by entering the command directly on the viewer appliance 120 where the command is received by a reception module 123.

Upon receiving the user command, the viewer appliance 120 forwards the user command to the MKIS 114 where it is captured and stored as appropriate for future processing at forward operation 204. Also upon receiving the user command, the viewer appliance 120 executes the user command to alter the aspects of the television programming at execution operation 206. While forward operation 204 and execution operation 206 are shown to occur in series, it will be appreciated that the viewer appliance 120 may perform these two operations in parallel such that there is no perceived delay by the viewer in entering the command and seeing the result of its execution.

FIG. 3 shows another example of a system for capturing the clickstreams, but in this example the television programming that is being provided to the viewer includes at least video-on-demand. In the video-on-demand system, the streams of programming to be sent to the viewer are switched within the television network of the central location 302 such that only one of the streams is being sent through a network 324 to a viewer appliance 328. The system of FIG. 3 may also but not necessarily include broadcasted programming where multiple streams are being provided to and selected by the viewer appliance 328 as discussed above in relation to FIG. 1. The video-on-demand and broadcast television programming is provided to viewers from a central location 302.

The central location 302 of this example includes various components for receiving the television programming to be provided to the television viewers. Again, much of the television programming originates from a satellite reception via a satellite receiver dish 306. Additional direct local feeds 308 receive direct transmission via a wireline link to local television stations. Also, additional local off-air reception via antennas 310 may also receive local programming that is not otherwise received through the direct local feeds 308.

These programming sources provide received programming to a content reception and processing system 304. This system 304 takes the various channels of television programming being received and creates a channel line-up. The content reception and processing system 304 receives a particular stream of programming and assigns it to a particular channel within the channel line-up.

The content reception and processing system 304 provides the individual streams of programming to a video broadcast system 312. The video broadcast system 312 then broadcasts each of the streams of programming within its assigned channel of the channel line-up. The video broadcast system 312 broadcasts these channels, as well as data such as guide data, to a switch 316 at the central location 302. This switch 316 then switches between the various sources of programming to provide a particular stream of programming through the distribution network 324 to viewer premises 326 according to a selection by a viewer.

In addition to receiving the broadcasted channel line-up from the video broadcast system 312, the switch 316 may receive television programming content from various other sources as well. For example, the switch 316 may receive content from a content storage and origination system 314. The content storage and origination system 314 may provide video-on-demand programming such as movies and other programming that viewers may want to watch at any given time such that content is stored and can be selected for playback to the viewer at any time the viewer requests. Such video-on-demand services are often provided on a fee per use basis or monthly fee basis. The switch 316 may also receive content through the Internet 322 from other programming sources and may provide television programming as well as data services to the end viewer through the distribution network 324.

A video control system 318 is included at the central location 302 to provide additional intelligence for operation of the switch 316. The switch 316 receives user commands for the changing from one stream to send to the viewer appliance 328 to another. The switch 316 may select one stream or another, such as those streams from the video broadcast system 312, without further assistance. However, certain channels of the video broadcast system 312 or content from the content and storage origination system 314 may be controlled on an account basis. The video control system 318 verifies that a particular viewer requesting a given channel or content has authorization to receive that channel or content and controls the switch 316 to either provide the channel/content or not provide the channel/content.

The streams being provided to viewer premises 326 may be either in an analog or a digital format. The network 324 may carry either format or both formats, such as where one set of channels of the channel line-up being received by the switch 316 are broadcast as analog while another set of channels of the channel line-up are digital. Additionally, the network 324 carries two-way communications such that communications are provided back to the switch 316 of the central location 302 from viewer premises 326 such that the switch 316 can select the particular stream to provide back through the network 324 to viewer premises 326.

At viewer premises 326, the incoming stream of channels is provided to the viewer appliance 328. The viewer appliance 328 allows a viewer to provide commands to control aspects of the television programming being viewed on a television 330, such as channel changes and/or additional aspects such as audio format and volume control.

When a viewer is watching television, the viewer continues to provide user commands to control the aspects of television programming as desired. Again, the viewer may provide a user command by pressing buttons on a remote control 335 that provides a corresponding signal to the viewer appliance 328 and are received by a reception module 331. Alternatively, the viewer may provide a user command by pressing buttons located on the viewer appliance 328 itself. The viewer appliance 328 of this example then performs at least one action. As the command is received, the viewer appliance 328 forwards the user command (i.e., a control message) back to the switch 316 at the central location 302 through a transfer module 329 rather than merely storing a record of it for future transfer. Where the command is a change to a new stream of programming, then the switch 316 and video control system 318 executes the command to begin providing a different stream, rather than the viewer appliance 328 executing the change. Where the user command is other than a channel change, such as a selection of audio format or volume, then the viewer appliance 328 also executes the command through a control module 333.

Upon the user command being received at the switch 316, it may be captured by the video control system 318 or the switch 316 from the stream of information being received from the network 324. An MKIS 320 is interfaced to the switch 316 and video control system 318 such that the user command is then passed to the MKIS 320 where it is stored in storage 321 in association with the contextual information that has been matched with the user command at the video control system 318, such as the identifier of the viewer who generated the command, the time at which the viewer appliance 328, switch 316, or video control system 318 received the user command, etc. Additionally, the video control system 318 may also match the user command being forwarded to the MKIS 320 with a result of the user command or may only forward the result. For example, the user command may be a channel up button, whose result is a change from channel 2 to channel 3 such that the video control system 318 forwards an “on channel 3” result to the MKIS 320 for storage.

The viewer appliance 328 may also forward the user command to an external location in other ways. For example, in systems where the MKIS 320 is not interfaced to the switch 316 and/or video control system 318, the MKIS 320 may be accessed through an alternative network such as described above in relation to FIG. 1. The viewer appliance 328 may be provided a connection to an alternative data network which interconnects an MKIS 320 to the viewer appliance 328. Like in the example of FIG. 1, the viewer appliance 328 may be connected to a digital subscriber line (“DSL”) or other broadband connection, PSTN, wireless, etc. When the viewer appliance 328 receives the user command, it is forwarded back through the network 324 for execution while it is simultaneously forwarded through the alternative network to the MKIS 320 where it is captured from the stream of communication and is stored as described above.

FIG. 4 shows an example of the logical operations that may be performed within the system of FIG. 3. The viewer appliance 328 receives the user command at reception operation 402. As the user command is received, the viewer appliance 328 then forwards the user command to the switch 316 or video control system 318 at forward operation 404. The switch 316 or video control system 318 then captures the user command for the information being returned through the network 324 and forwards the user command to the MKIS 320 for storage as described above at capture operation 406. As an alternative, rather than the switch 316 and video control system 318 forwarding the user command to the MKIS 320, the viewer appliance 328 may forward the user command to the MKIS 320 through an alternative network connection where it is then captured and stored. Also upon the switch 316 and/or video control system 318 receiving the user command, the user command is executed to alter the stream of programming being provided through the network 324 to viewer premises 326 at execution operation 408. Where the user command is not for a change in the stream in programming but is another change, such as a volume change, then the change may be implemented at viewer premises 326 rather than within the central location.

Thus, the embodiments of clickstream capture provide for the forwarding of the user command from the viewer appliance 328 to an external location as the commands are being received. This eliminates the requirement that the viewer appliance 328 record the user commands. However, the viewer appliance 328 may continue to perform clickstream capture as well to provide redundancy or for other purposes. As an advantage of performing clickstream capture at an external location, the external location typically has much greater capacity than an individual viewer appliance such that rather than filtering the user commands to be stored to eliminate those that are not as useful at understanding viewer behavior, the viewer appliance may forward all user commands so that the external location can capture and store all of the commands rather than selected ones.

The data that has been stored in the MKIS of the embodiments discussed above may then be used for various purposes. It may be used to target advertising for particular times and television programs. It may also be used to determine the proper characteristics for advertisements such as length and content. Furthermore, the data may be used to determine the proper television programming to provide at any given time. Accordingly, the data that is obtained has significant value in relation to making determinations about what content is provided for television viewers. Usage of this data for such purposes is discussed in more detail in U.S. application Ser. No. 09/467,889, filed on Dec. 21, 1999, and entitled METHOD AND SYSTEM FOR PROVIDING TARGETED ADVERTISEMENTS.

Although the present invention has been described in connection with various illustrative embodiments, those of ordinary skill in the art will understand that many modifications can be made thereto within the scope of the claims that follow. Accordingly, it is not intended that the scope of the invention in any way be limited by the above description, but instead be determined entirely by reference to the claims that follow. 

1. A method, comprising: establishing communication between a viewer appliance and a remotely located video control system; receiving, at the viewer appliance, a command entered during presentation of content; executing the command at the viewer appliance to alter an aspect of the content being presented; and parallel performing a concurrent forwarding of the command from the viewer appliance to the remotely located video control system.
 2. The method of claim 1, further comprising determining the command changes a channel.
 3. The method of claim 1, further comprising determining the command fails to change a channel.
 4. The method of claim 1, further comprising generating a confirmation that the command has been executed.
 5. The method of claim 4, further comprising sending the confirmation from the viewer appliance to the remotely located video control system.
 6. The method of claim 1, further comprising receiving a stream of video as the content.
 7. The method of claim 1, further comprising: retrieving content information describing the content; and merging the command with the content information to generate data of a timeline describing the content information associated to the command.
 8. A system, comprising: a processor; and a memory storing code that when executed causes the processor to perform operations, the operations comprising: establishing communication between a viewer appliance and a remotely located video control system; receiving, at the viewer appliance, a command entered during presentation of content; executing the command at the viewer appliance to alter an aspect of the content being presented; and parallel performing a concurrent forwarding of the command from the viewer appliance to the remotely located video control system.
 9. The system of claim 8, wherein the operations further comprise determining the command changes a channel.
 10. The system of claim 8, wherein the operations further comprise determining the command fails to change a channel.
 11. The system of claim 8, wherein the operations further comprise generating a confirmation that the command has been executed.
 12. The system of claim 11, wherein the operations further comprise sending the confirmation from the viewer appliance to the remotely located video control system.
 13. The system of claim 8, wherein the operations further comprise receiving a stream of video as the content.
 14. The system of claim 8, wherein the operations further comprise: retrieving content information describing the content; and merging the command with the content information to generate data of a timeline describing the content information associated to the command.
 15. A memory storing code that when executed causes a processor to perform operations, the operations comprising: establishing communication between a viewer appliance and a remotely located video control system; receiving, at the viewer appliance, a command entered during presentation of content; executing the command at the viewer appliance to alter an aspect of the content being presented; and parallel performing a concurrent forwarding of the command from the viewer appliance to the remotely located video control system.
 16. The memory of claim 15, wherein the operations further comprise determining the command changes a channel.
 17. The memory of claim 15, wherein the operations further comprise determining the command fails to change a channel.
 18. The memory of claim 15, wherein the operations further comprise generating a confirmation that the command has been executed.
 19. The memory of claim 18, wherein the operations further comprise sending the confirmation from the viewer appliance to the remotely located video control system.
 20. The memory of claim 15, wherein the operations further comprise receiving a stream of video as the content. 